Skip to content

benchmarks: Add MarkupEver, https://awolverp.github.io/markupever/#48

Merged
EmilStenstrom merged 1 commit intoEmilStenstrom:mainfrom
andersk:benchmark-markupever
Mar 7, 2026
Merged

benchmarks: Add MarkupEver, https://awolverp.github.io/markupever/#48
EmilStenstrom merged 1 commit intoEmilStenstrom:mainfrom
andersk:benchmark-markupever

Conversation

@andersk
Copy link
Contributor

@andersk andersk commented Mar 6, 2026

MarkupEver is based on the Rust html5ever library; it seems reasonably correct (1652/1743) and very fast, so well worth adding to the comparison. Benchmark results on my system:

Parser          Total (s)  Mean (ms)  Peak (MB)  Delta (MB)
----------------------------------------------------------------------------------------------------
justhtml        4.161      8.323           146.6      101.7
html5lib        6.377      12.753          171.1      117.2  (1.53x slower)
lxml            0.346      0.692            65.0       21.3  (12.03x faster)
bs4             4.325      8.651           135.7       85.3  (1.04x slower)
html.parser     1.565      3.131            52.6        8.2  (2.66x faster)
selectolax      0.219      0.437            68.0       10.5  (19.04x faster)
gumbo           1.194      2.387            70.6       25.4  (3.49x faster)
markupever      0.435      0.870            64.9       21.0  (9.56x faster)

@andersk
Copy link
Contributor Author

andersk commented Mar 6, 2026

@awolverp FYI!

MarkupEver is based on the Rust html5ever library; it seems reasonably
correct and very fast, so well worth adding to the comparison.
Benchmark results on my system:

    Parser          Total (s)  Mean (ms)  Peak (MB)  Delta (MB)
    ----------------------------------------------------------------------------------------------------
    justhtml        4.161      8.323           146.6      101.7
    html5lib        6.377      12.753          171.1      117.2  (1.53x slower)
    lxml            0.346      0.692            65.0       21.3  (12.03x faster)
    bs4             4.325      8.651           135.7       85.3  (1.04x slower)
    html.parser     1.565      3.131            52.6        8.2  (2.66x faster)
    selectolax      0.219      0.437            68.0       10.5  (19.04x faster)
    gumbo           1.194      2.387            70.6       25.4  (3.49x faster)
    markupever      0.435      0.870            64.9       21.0  (9.56x faster)

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
@andersk andersk force-pushed the benchmark-markupever branch from ba89ad1 to bbd8d38 Compare March 7, 2026 00:13
@EmilStenstrom EmilStenstrom merged commit 55ad6f8 into EmilStenstrom:main Mar 7, 2026
8 checks passed
@EmilStenstrom
Copy link
Owner

EmilStenstrom commented Mar 7, 2026

@andersk Thanks! While the main point of this library is not to showcase "competitors", I think this is a nice addition :)

@andersk andersk deleted the benchmark-markupever branch March 7, 2026 10:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants